rev1(nil) -> nil
rev1(++2(x, y)) -> ++2(rev12(x, y), rev22(x, y))
rev12(x, nil) -> x
rev12(x, ++2(y, z)) -> rev12(y, z)
rev22(x, nil) -> nil
rev22(x, ++2(y, z)) -> rev1(++2(x, rev1(rev22(y, z))))
↳ QTRS
↳ Non-Overlap Check
rev1(nil) -> nil
rev1(++2(x, y)) -> ++2(rev12(x, y), rev22(x, y))
rev12(x, nil) -> x
rev12(x, ++2(y, z)) -> rev12(y, z)
rev22(x, nil) -> nil
rev22(x, ++2(y, z)) -> rev1(++2(x, rev1(rev22(y, z))))
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
rev1(nil) -> nil
rev1(++2(x, y)) -> ++2(rev12(x, y), rev22(x, y))
rev12(x, nil) -> x
rev12(x, ++2(y, z)) -> rev12(y, z)
rev22(x, nil) -> nil
rev22(x, ++2(y, z)) -> rev1(++2(x, rev1(rev22(y, z))))
rev1(nil)
rev1(++2(x0, x1))
rev12(x0, nil)
rev12(x0, ++2(x1, x2))
rev22(x0, nil)
rev22(x0, ++2(x1, x2))
REV12(x, ++2(y, z)) -> REV12(y, z)
REV1(++2(x, y)) -> REV12(x, y)
REV22(x, ++2(y, z)) -> REV22(y, z)
REV22(x, ++2(y, z)) -> REV1(rev22(y, z))
REV22(x, ++2(y, z)) -> REV1(++2(x, rev1(rev22(y, z))))
REV1(++2(x, y)) -> REV22(x, y)
rev1(nil) -> nil
rev1(++2(x, y)) -> ++2(rev12(x, y), rev22(x, y))
rev12(x, nil) -> x
rev12(x, ++2(y, z)) -> rev12(y, z)
rev22(x, nil) -> nil
rev22(x, ++2(y, z)) -> rev1(++2(x, rev1(rev22(y, z))))
rev1(nil)
rev1(++2(x0, x1))
rev12(x0, nil)
rev12(x0, ++2(x1, x2))
rev22(x0, nil)
rev22(x0, ++2(x1, x2))
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
REV12(x, ++2(y, z)) -> REV12(y, z)
REV1(++2(x, y)) -> REV12(x, y)
REV22(x, ++2(y, z)) -> REV22(y, z)
REV22(x, ++2(y, z)) -> REV1(rev22(y, z))
REV22(x, ++2(y, z)) -> REV1(++2(x, rev1(rev22(y, z))))
REV1(++2(x, y)) -> REV22(x, y)
rev1(nil) -> nil
rev1(++2(x, y)) -> ++2(rev12(x, y), rev22(x, y))
rev12(x, nil) -> x
rev12(x, ++2(y, z)) -> rev12(y, z)
rev22(x, nil) -> nil
rev22(x, ++2(y, z)) -> rev1(++2(x, rev1(rev22(y, z))))
rev1(nil)
rev1(++2(x0, x1))
rev12(x0, nil)
rev12(x0, ++2(x1, x2))
rev22(x0, nil)
rev22(x0, ++2(x1, x2))
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
REV12(x, ++2(y, z)) -> REV12(y, z)
rev1(nil) -> nil
rev1(++2(x, y)) -> ++2(rev12(x, y), rev22(x, y))
rev12(x, nil) -> x
rev12(x, ++2(y, z)) -> rev12(y, z)
rev22(x, nil) -> nil
rev22(x, ++2(y, z)) -> rev1(++2(x, rev1(rev22(y, z))))
rev1(nil)
rev1(++2(x0, x1))
rev12(x0, nil)
rev12(x0, ++2(x1, x2))
rev22(x0, nil)
rev22(x0, ++2(x1, x2))
The following pairs can be strictly oriented and are deleted.
The remaining pairs can at least by weakly be oriented.
REV12(x, ++2(y, z)) -> REV12(y, z)
[REV12, ++2]
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
rev1(nil) -> nil
rev1(++2(x, y)) -> ++2(rev12(x, y), rev22(x, y))
rev12(x, nil) -> x
rev12(x, ++2(y, z)) -> rev12(y, z)
rev22(x, nil) -> nil
rev22(x, ++2(y, z)) -> rev1(++2(x, rev1(rev22(y, z))))
rev1(nil)
rev1(++2(x0, x1))
rev12(x0, nil)
rev12(x0, ++2(x1, x2))
rev22(x0, nil)
rev22(x0, ++2(x1, x2))
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
REV22(x, ++2(y, z)) -> REV22(y, z)
REV22(x, ++2(y, z)) -> REV1(rev22(y, z))
REV22(x, ++2(y, z)) -> REV1(++2(x, rev1(rev22(y, z))))
REV1(++2(x, y)) -> REV22(x, y)
rev1(nil) -> nil
rev1(++2(x, y)) -> ++2(rev12(x, y), rev22(x, y))
rev12(x, nil) -> x
rev12(x, ++2(y, z)) -> rev12(y, z)
rev22(x, nil) -> nil
rev22(x, ++2(y, z)) -> rev1(++2(x, rev1(rev22(y, z))))
rev1(nil)
rev1(++2(x0, x1))
rev12(x0, nil)
rev12(x0, ++2(x1, x2))
rev22(x0, nil)
rev22(x0, ++2(x1, x2))